Generating Programs Plus Proofs by Refinement

نویسنده

  • Douglas R. Smith
چکیده

Refinement-oriented development starts with the requirements of the procuring organization. These requirements are typically a mixture of informal and semiformal notations that reflect the needs of the organization. To provide the basis for a clear contract, the requirements must be formalized into specifications that both the procuring organization (the buyer) and the developer (the seller) can agree to. Specifications can be expressed at a variety of levels of abstraction. At one extreme a suitable high-level programming language can sometimes serve to express executable specifications. However, an executable specification requires the inclusion of implementation detail that (1) is time-consuming to develop and get right, and (2) might be better left to the developer’s discretion. At the other extreme, a property-oriented language (such as a higher-order logic) can be used to prescribe the properties of the intended software with minimal prescription of implementation detail. The solution in Specware is a mixture of logic and high-level programming constructs that provides a wide-spectrum approach, allowing specification writers to choose an appropriate level of abstraction from implementation detail.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Semantics and Data Refinement of Invariant Based Programs

The invariant based programming is a technique of constructing correct programs by first identifying the basic situations (preand post-conditions and invariants) that can occur during the execution of the program, and then defining the transitions and proving that they preserve the invariants. Data refinement is a technique of building correct programs working on concrete datatypes as refinemen...

متن کامل

Correctness and Refinement of Dually Nondeterministic Programs

In this paper we extend different reasoning methods from traditional (demonic) programs to programs with both demonic and angelic nondeterminism. In particular, we discuss correctness proofs, and refinement of programs while reducing angelic nondeterminism (into demonic nondeterminism or determinism). As expected, reducing angelic nondeterminism is generally not a refinement; however, when cont...

متن کامل

Proving the Correctness of Multiprocess Programs LESLIE LAMPORT

The inductive assertion method is generalized to permit formal, machine-verifiable proofs of correctness for multiprocess programs. Individual processes are represented by ordinary flowcharts, and no special synchronization mechanisms are assumed, so the method can be applied to a large class of multiprocess programs. A correctness proof can be designed together with the program by a hierarchic...

متن کامل

Program Construction and Verification Components Based on Kleene Algebra

Variants of Kleene algebra support program construction and verification by algebraic reasoning. This entry provides a verification component for Hoare logic based on Kleene algebra with tests, verification components for weakest preconditions and strongest postconditions based on Kleene algebra with domain and a component for step-wise refinement based on refinement Kleene algebra with tests. ...

متن کامل

Verification of the Deutsch-Schorr-Waite Graph Marking Algorithm using Data Refinement

The verification of the Deutsch-Schorr-Waite graph marking algorithm is used as a benchmark in many formalizations of pointer programs. The main purpose of this mechanization is to show how data refinement of invariant based programs can be used in verifying practical algorithms. The verification starts with an abstract algorithm working on a graph given by a relation next on nodes. Gradually t...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005